import axios from "axios"
// 定义一个Ajax函数
export default function ajax(url = '', data = {}, type = 'GET') {
    // 返回一个promise函数（异步函数）
    return new Promise(function (resolve, reject) {
        let promise
        if (type === 'GET') {
            // 准备 url query 参数数据
            let dataStr = '' //数据拼接字符串
            Object.keys(data).forEach(key => {  //遍历传递过来的data参数，提取出数据的Key值和value值
                dataStr += key + '=' + data[key] + '&'  //比如a:123，b:456 就会变成a=123&b=456
            })
            if (dataStr !== '') {  //当转好好的dataStr不是空的时候
                // 去掉最后一个&这个符号
                dataStr = dataStr.substring(0, dataStr.lastIndexOf('&'))
                url = url + '?' + dataStr
            }
            // 发送 get 请求
            promise = axios.get(url)
        } else {
            // 发送 post 请求
            promise = axios.post(url, data)
        }
        
        promise.then(response => {
            resolve(response.data)
        }).catch(error => {
                reject(error)  
            })
    })
}